package com.bestcem.xm.user.controller.vo.user.request;

import com.bestcem.xm.common.core.constant.RegTypes;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;

/**
 * 更新用户登录多因素认证相关设置 请求参数
 *
 * @author panyun <yun.pan@idiaoyan.com>
 * @version v1.0
 * @date 2022/6/13 18:40
 */
@Data
@NoArgsConstructor
public class UpdateMfaSettingRequestVO {
    /**
     * 是否允许15天内跳过验证 【0：否、1：是】
     */
    @NotNull(message = "allow_skip为必传参数")
    @JsonProperty("allow_skip")
    private Boolean allowSkip;
    /**
     * 验证方式 【0：短信、1：邮箱】
     */
    @NotNull(message = "auth_method为必传参数")
    @JsonProperty("auth_method")
    private Integer authMethod;
    /**
     * 是否开启mfa验证 【0：否、1：是】
     */
    @JsonProperty("open_mfa")
    private Boolean openMfa;
    /**
     * 用户登录多因素认证关联的roleIdList
     */
    @JsonProperty("role_list")
    private List<@Pattern(regexp = RegTypes.OBJECT_ID, message = "roleId不正确") String> roleList;
}
